﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;

namespace GeneralDashboard.ViewModel
{
    public class DesignerViewModel : DependencyObject
    {
        public string WinTitle
        {
            get { return (string)GetValue(WinTitleProperty); }
            set { SetValue(WinTitleProperty, value); }
        }

        // Using a DependencyProperty as the backing store for Title.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty WinTitleProperty =
            DependencyProperty.Register("WinTitle", typeof(string), typeof(DesignerViewModel), new PropertyMetadata("Demo App"));

        public int WinHeight
        {
            get { return (int)GetValue(WinHeightProperty); }
            set { SetValue(WinHeightProperty, value); }
        }

        // Using a DependencyProperty as the backing store for WinHeight.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty WinHeightProperty =
            DependencyProperty.Register("WinHeight", typeof(int), typeof(DesignerViewModel), new PropertyMetadata(600));

        public int WinWidth
        {
            get { return (int)GetValue(WinWidthProperty); }
            set { SetValue(WinWidthProperty, value); }
        }

        // Using a DependencyProperty as the backing store for WinWidth.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty WinWidthProperty =
            DependencyProperty.Register("WinWidth", typeof(int), typeof(DesignerViewModel), new PropertyMetadata(800));


        public int ScalePercent
        {
            get { return (int)GetValue(ScalePercentProperty); }
            set { SetValue(ScalePercentProperty, value); }
        }

        // Using a DependencyProperty as the backing store for ScalePercent.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty ScalePercentProperty =
            DependencyProperty.Register("ScalePercent", typeof(int), typeof(DesignerViewModel), new PropertyMetadata(100));


        public double ColorValue
        {
            get { return (double)GetValue(ColorValueProperty); }
            set { SetValue(ColorValueProperty, value); }
        }

        // Using a DependencyProperty as the backing store for ColorValue.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty ColorValueProperty =
            DependencyProperty.Register("ColorValue", typeof(double), typeof(DesignerViewModel), new PropertyMetadata(30d));


    }
}
